#include<vector>

using namespace std;

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        int left = 0;
        int right = arr.size() - 1;
        while (left < right)
        {
            int mid = left + (right - left + 1) / 2;
            if (arr[mid + 1] > arr[mid] && arr[mid] > arr[mid - 1])
            {
                left = mid;
            }
            else if (arr[mid + 1] < arr[mid] && arr[mid] < arr[mid - 1])
            {
                right = mid - 1;
            }
            else if (arr[mid] > arr[mid - 1] && arr[mid] > arr[mid+1])
            {
                return mid;
            }
        }
        return 0;
    }
};

int main()
{
    vector<int> v{ 0,1,0 };
    Solution s;
    s.peakIndexInMountainArray(v);
    return 0;
}